package com.findweb.guava;

import java.util.concurrent.TimeUnit;

import com.findweb.guava.service.ITradeAccountService;
import com.findweb.guava.service.impl.TradeAccountService;
import com.google.common.base.Ticker;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;

public class TestLoadingCache {

//	@SuppressWarnings("unused")
//	public static void main(String[] args) throws Exception {
//		
//		
//		ITradeAccountService service = new TradeAccountService();
//		LoadingCache<String,TradeAccount> cache = CacheBuilder.newBuilder().
//								expireAfterWrite(5L, TimeUnit.MINUTES).
//								maximumSize(5000L).
//								ticker(Ticker.systemTicker()).
//								build(new CacheLoader<String, TradeAccount>() {
//									@Override
//									public TradeAccount load(String key) throws Exception {
//										return service.getTradeAccountById(key);
//									}
//								});
//		TradeAccount account1 = new TradeAccount();
//		cache.put("key", account1);
//		TradeAccount a1 = cache.get("key");
//		TradeAccount a2 = cache.get("key2");
//		a2 = cache.get("key2");
//		a2 = cache.get("key3");
//		System.out.println(a1 == account1);
//
//	}

}
